package fr.asip.cps3.exemple.modele.resultats;

import fr.asip.cps3.exemple.modele.traitements.util.TraitementsUtil;

/**
 * Classe représentant le résultat de 3 opérations sucessives accompagné d'informations
 */
public class ResultatTripleInfo extends ResultatDoubleInfo {

	/**
	 * Code retour 3 PKCS#11 
	 */
	private long codeRetour3;

	/**
	 * Description de la troisième opération à l'origine du résultat
	 */
	private String operation3;
	
	/**
	 * Constructeur
	 * @param operation1 Description de la première opération
	 * @param operation2 Description de la deuxième opération
	 * @param operation3 Description de la troisième opération
	 */
	public ResultatTripleInfo(String operation1, String operation2, String operation3){
		super(operation1, operation2);
		this.codeRetour3 = 0L;
		this.operation3 = operation3;
	}

	/**
	 * Accesseur
	 * @return operation3 Description de la troisième opération à l'origine du résultat
	 */
	public String getOperation3() {
		return operation3;
	}

	/**
	 * Ajoute du texte à la description de la troisième opération
	 * @param texte Texte à ajouter à la description de la troisième opération
	 */
	public void appendOperation3(String texte) {
		this.operation3 += texte;
	}
	
	/**
	 * Accessseur
	 * @return codeRetour3
	 */
	public String getCodeRetour3() {
		return TraitementsUtil.retranscritCodeRetour(codeRetour3);
	}

	/**
	 * Mutateur
	 * @param codeRetour3 Code retour 3 PKCS#11
	 */
	public void setCodeRetour3(long codeRetour3) {
		this.codeRetour3 = codeRetour3;
	}


	
}
